---
title: PopupControl
summary: API reference for PopupControl.
status: draft
owner: <owner>
last_reviewed: 2026-08-21
library: SAIF.Presentation.Web.Controls.PopUps.Infragistics111
reference_type: package
---

# PopupControl

`PopupControl` is a generic script/postback bridge control: when activated it renders zero or more chained client-side `confirm()`/`alert()` dialogs, then triggers a postback carrying the user's choice back into the page lifecycle through `IPostBackEventHandler`, relaying the result to the hosting page as a typed `ConfirmAction` event ([OP-7](../../operations/popup-button-and-popup-control-generic-confirm-alert.md)). Unlike `PopUpButton`, it is not tied to a single button's click and supports multiple chained messages.

## Purpose
- Present one or more sequential client-side dialogs (confirm or alert) and carry the result of that interaction through a postback back to server-side code.
- Provide a master-page-safe registration path (`ScriptManager.RegisterStartupScript`) for the generated dialog script.

## Context
- Namespace: `SAIF.Presentation.Web.Controls.PopUps`
- Assembly/package: `SAIF.Presentation.Web.Controls.PopUps.Infragistics111` (package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Active` | `Public Property Active() As Boolean` | Toggles whether `Render()` emits the popup script |
| `Messages` | `Public Property Messages() As ArrayList` | The ordered list of message strings to present as chained `confirm()`/`alert()` calls |
| `PopupType` | `Public Property PopupType() As PopupTypes` | Selects whether messages are presented as chained `confirm()` calls (`Confirm`) or `alert()` calls (`Notify`) |
| `PopupTypes` (nested enum) | `Public Enum PopupTypes` — members `Notify`, `Confirm` | Determines which client-side dialog behavior `Render()` emits |
| `ConfirmAction` | `Public Event ConfirmAction(ByVal Confirm As Boolean, ByVal e As EventArgs)` | Raised from `RaisePostBackEvent` after the postback completes, carrying the user's confirm/cancel result |
| `New` | `Public Sub New()` | Default constructor |
| `RaisePostBackEvent` | `Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements IPostBackEventHandler.RaisePostBackEvent` | Converts the posted `"true"`/`"false"` argument to a boolean and raises `ConfirmAction` |

## Behavioral notes
- For `PopupTypes.Confirm` with multiple `Messages` entries, the generated `RunPopup()` JavaScript chains one `confirm()` call per message but overwrites its result variable on each iteration — effectively only the last dialog's result gates the postback outcome, not a logical AND of all dialogs*.

## Constraints and usage notes
- The client script is registered via `ScriptManager.RegisterStartupScript`, so a hosting page using partial-postback update panels must have a `ScriptManager` present on the page for the popup to function correctly*.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Presentation.Web.Controls.PopUps.Infragistics111\PopupControl.vb`
